Coder Social home page Coder Social logo

ironclad / rivet Goto Github PK

View Code? Open in Web Editor NEW
2.5K 2.5K 225.0 1.53 GB

The open-source visual AI programming environment and TypeScript library

Home Page: https://rivet.ironcladapp.com

License: MIT License

TypeScript 79.96% HTML 0.03% CSS 0.78% Rust 0.28% JavaScript 0.97% MDX 17.98%
ai llm openai typescript

rivet's People

Contributors

a-rothwell avatar abrenneke avatar allcontributors[bot] avatar ankrgyl avatar anush008 avatar aryamanagrawalironclad avatar aschen avatar bardia-pourvakil avatar bilalmirza74 avatar cinerar avatar codemile avatar crystalix007 avatar dependabot[bot] avatar eltociear avatar gogwilt avatar hushaudio avatar johnamadeo avatar liaujianjie avatar loui7 avatar meeow avatar sandesh-pyakurel avatar scottbessler avatar shravansunder avatar swimburger avatar tberman avatar tcgj avatar teddycoleman avatar viveknair avatar wayne-chang avatar zhangyijiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rivet's Issues

[Feature]: Saving outputs

Feature Request

Love this work! Would be great if you add saving options. Whether for the LLM output to be stored as a txt or the To JSON Node saves the json to a user-defined working directory :)

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Flag missing settings that are required to run

Feature Request

When the AI node model is set to take an input but no input is provided, a TypeError throws in the graph node:

Screenshot 2023-09-14 at 12 46 24 PM

I'm guessing it flagged from one of the variations of this, which is how I eventually found the problem of a missing model:

const tiktokenModel = openaiModels[model].tiktokenModel;

Based on some of the other patterns, such as in text nodes, it seemed like the setting dropdown would specify a default:

Screenshot 2023-09-14 at 2 40 39 PM Screenshot 2023-09-14 at 2 55 58 PM

I wasn't aware that the input toggle was toggled on so it took a moment to find the issue. Would be awesome if there was some error state, or use the selected one as a default!

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Tutorials "7. Loops" example doesn't route chat history to the LLM correctly

What happened?

Issue: Routing directs the previous LLM response to the Assemble Node which is input as prompt to the Chat Node.

Expected: The entire previous chat log from the chat history "Assemble Prompt" Node is sent to the Assemble Prompt node that inputs to the Chat node.

What was the expected functionality?

Loops Tutorial behaves like a chatbot with complete chat history.

Describe your environment

MacOS, Node 14.0.0, etc.

Relevant log output

No response

Relevant screenshots

Screenshot 2023-09-09 at 3 47 18 PM This is the current Tutorial Node wiring. Screenshot 2023-09-09 at 4 11 21 PM I believe it should be this.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Split/ extract data from JSON formatted outputs

Feature Request

Currently there are no option to extract several outputs from a JSON-like output (from a chat, for example) and put into multiple entries in another text node by using string interpolation. I think it would be helpful to have this.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Text formatting for more/all node types

Feature Request

It would be great to support JSON/YAML/Markdown formatting available via a toggle, for example when manually viewing AI output

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: AppImage 1.1.0 undefined symbols Ubuntu 23.04

What happened?

I'm trying to run rivet_1.1.0_amd64.AppImage. It starts but prints these errors on the console:

/usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so: undefined symbol: g_uri_is_valid Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so: undefined symbol: g_uri_is_valid Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so: undefined symbol: g_uri_is_valid Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so: undefined symbol: g_uri_is_valid Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so: undefined symbol: g_uri_is_valid Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so: undefined symbol: g_uri_is_valid Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so

Then, the application has problems showing labels (see screenshot)

What was the expected functionality?

All labels should be visibles

Describe your environment

Ubuntu 23.04
libwebkitgtk-6.0 2.40.5

Relevant log output

No response

Relevant screenshots

Screenshot from 2023-09-12 14-49-57

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Retrieval Augmented Generation for function calling

Feature Request

As demonstrated in this video https://youtu.be/QMaWfbosR_E there is a potential to use Retrieval Augmented Generation to redirect LLM calls to our own functions for specific use cases, where LLM could fail to respond correctly (for example a web search, a hard math calculation or a fresh summary of URL contents)

How could we achieve this feature in the spirit of Rivet?

We could have a block for:

  • text to train alternative RAG paths on LLM (with cached output) - input and output nodes are both LLM

routed into block for:

  • calling text on new model with applied training (new exit nodes appear for distinct functions trained in previous block)

routed into multiple blocks for:

  • function calls (these are tiny python code snippets to be executed when called)

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Failed to build from source (protobufjs and esbuild couldn't be built)

What happened?

Here are the command I use to try build Rivet, and the resulting errors:

git clone --filter=blob:none [email protected]:Ironclad/rivet.git
cd rivet
nvm use 20
yarn
yarn dev

The yarn dev command fails:

➤ YN0000: ┌ Project validation
➤ YN0057: │ @ironclad/rivet-app: Resolutions field will be ignored
➤ YN0000: └ Completed
➤ YN0000: ┌ Resolution step
➤ YN0002: │ @algolia/autocomplete-core@npm:1.9.3 doesn't provide @algolia/client-search (pbc410), requested by @algolia/autocomplete-shared
➤ YN0002: │ @algolia/autocomplete-core@npm:1.9.3 doesn't provide algoliasearch (p8ad5b), requested by @algolia/autocomplete-shared
➤ YN0002: │ @algolia/autocomplete-core@npm:1.9.3 doesn't provide search-insights (pfdb70), requested by @algolia/autocomplete-plugin-algolia-insights
➤ YN0002: │ @algolia/autocomplete-plugin-algolia-insights@npm:1.9.3 [e43f4] doesn't provide @algolia/client-search (pdf3b9), requested by @algolia/autocomplete-shared
➤ YN0002: │ @algolia/autocomplete-plugin-algolia-insights@npm:1.9.3 [e43f4] doesn't provide algoliasearch (p0f6bb), requested by @algolia/autocomplete-shared
➤ YN0002: │ @atlaskit/modal-dialog@npm:12.6.4 [388c2] doesn't provide react-dom (p71a81), requested by @atlaskit/portal
➤ YN0002: │ @atlaskit/popper@npm:5.5.3 [af08a] doesn't provide react-dom (pe6a9b), requested by react-popper
➤ YN0002: │ @atlaskit/side-navigation@npm:2.0.3 [388c2] doesn't provide react-dom (pe90e8), requested by @atlaskit/menu
➤ YN0002: │ @docsearch/react@npm:3.5.1 [45935] doesn't provide @algolia/client-search (pc8a10), requested by @algolia/autocomplete-preset-algolia
➤ YN0002: │ @ironclad/rivet-app@workspace:packages/app doesn't provide @typescript-eslint/parser (p52c17), requested by @typescript-eslint/eslint-plugin
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pbd4a5) with version 18.2.0, which doesn't satisfy what @atlaskit/tokens requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p09bd4) with version 18.2.0, which doesn't satisfy what @atlaskit/theme requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p47042) with version 18.2.0, which doesn't satisfy what @atlaskit/icon requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pc7cba) with version 18.2.0, which doesn't satisfy what @atlaskit/button and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p613bc) with version 18.2.0, which doesn't satisfy what @atlaskit/menu requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p281dc) with version 18.2.0, which doesn't satisfy what @atlaskit/popup requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pad932) with version 18.2.0, which doesn't satisfy what @atlaskit/form and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p318a7) with version 18.2.0, which doesn't satisfy what @atlaskit/textfield requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pc532f) with version 18.2.0, which doesn't satisfy what @atlaskit/portal requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p47850) with version 18.2.0, which doesn't satisfy what @atlaskit/banner and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p7d69a) with version 18.2.0, which doesn't satisfy what @atlaskit/checkbox requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pb1f52) with version 18.2.0, which doesn't satisfy what @atlaskit/css-reset requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p25415) with version 18.2.0, which doesn't satisfy what @atlaskit/dropdown-menu and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pde336) with version 18.2.0, which doesn't satisfy what @atlaskit/inline-edit and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p15f9e) with version 18.2.0, which doesn't satisfy what @atlaskit/modal-dialog and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pf703f) with version 18.2.0, which doesn't satisfy what @atlaskit/select and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p39fd4) with version 18.2.0, which doesn't satisfy what @atlaskit/side-navigation and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p67a5d) with version 18.2.0, which doesn't satisfy what @atlaskit/tabs requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p581bd) with version 18.2.0, which doesn't satisfy what @atlaskit/textarea requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p35fc4) with version 18.2.0, which doesn't satisfy what @atlaskit/toggle requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (pe223a) with version 18.2.0, which doesn't satisfy what @atlaskit/menu requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (p7f140) with version 18.2.0, which doesn't satisfy what @atlaskit/popup requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (p21edf) with version 18.2.0, which doesn't satisfy what @atlaskit/portal requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (p6f1aa) with version 18.2.0, which doesn't satisfy what @atlaskit/dropdown-menu requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (p3d925) with version 18.2.0, which doesn't satisfy what @atlaskit/select and some of its descendants request
➤ YN0002: │ @ironclad/rivet-core@workspace:packages/core doesn't provide @types/node (p2a077), requested by ts-node
➤ YN0002: │ @ironclad/rivet-core@workspace:packages/core doesn't provide @typescript-eslint/parser (pcafdb), requested by @typescript-eslint/eslint-plugin
➤ YN0002: │ @ironclad/rivet-node@workspace:packages/node doesn't provide @typescript-eslint/parser (p5d7b8), requested by @typescript-eslint/eslint-plugin
➤ YN0002: │ @ironclad/rivet@workspace:. doesn't provide @typescript-eslint/parser (p14739), requested by @typescript-eslint/eslint-plugin
➤ YN0002: │ @ironclad/trivet@workspace:packages/trivet doesn't provide @typescript-eslint/parser (pc3af5), requested by @typescript-eslint/eslint-plugin
➤ YN0060: │ docs@workspace:packages/docs provides react (p4e1cc) with version 18.2.0, which doesn't satisfy what @docusaurus/types requests
➤ YN0060: │ docs@workspace:packages/docs provides react (p9d5e3) with version 18.2.0, which doesn't satisfy what @docusaurus/core and some of its descendants request
➤ YN0060: │ docs@workspace:packages/docs provides react (p1334f) with version 18.2.0, which doesn't satisfy what @mdx-js/react requests
➤ YN0060: │ docs@workspace:packages/docs provides react (p0e283) with version 18.2.0, which doesn't satisfy what @docusaurus/preset-classic and some of its descendants request
➤ YN0060: │ docs@workspace:packages/docs provides react-dom (p1a640) with version 18.2.0, which doesn't satisfy what @docusaurus/types requests
➤ YN0060: │ docs@workspace:packages/docs provides react-dom (p47f6f) with version 18.2.0, which doesn't satisfy what @docusaurus/core and some of its descendants request
➤ YN0060: │ docs@workspace:packages/docs provides react-dom (p45133) with version 18.2.0, which doesn't satisfy what @docusaurus/preset-classic and some of its descendants request
➤ YN0002: │ eslint-config-react-app@npm:7.0.1 [388c2] doesn't provide @babel/plugin-syntax-flow (p32599), requested by eslint-plugin-flowtype
➤ YN0002: │ eslint-config-react-app@npm:7.0.1 [388c2] doesn't provide @babel/plugin-transform-react-jsx (pff2ca), requested by eslint-plugin-flowtype
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 0s 223ms
➤ YN0000: ┌ Fetch step
➤ YN0019: │ @esbuild-darwin-arm64-npm-0.18.17-4da6dfeef9-9.zip appears to be unused - removing
➤ YN0019: │ @esbuild-darwin-arm64-npm-0.19.1-f737930702-9.zip appears to be unused - removing
➤ YN0019: │ @swc-core-darwin-arm64-npm-1.3.71-5ea24a12db-9.zip appears to be unused - removing
➤ YN0019: │ @tauri-apps-cli-darwin-arm64-npm-1.4.0-07239c8e68-9.zip appears to be unused - removing
➤ YN0019: │ fsevents-patch-19706e7e35-9.zip appears to be unused - removing
➤ YN0000: └ Completed in 0s 317ms
➤ YN0000: ┌ Link step
➤ YN0000: │ ESM support for PnP uses the experimental loader API and is therefore experimental
➤ YN0007: │ esbuild@npm:0.19.1 must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.17.19 must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.18.17 must be built because it never has been before or the last one failed
➤ YN0007: │ @swc/core@npm:1.3.71 [36b10] must be built because it never has been before or the last one failed
➤ YN0007: │ protobufjs@npm:7.2.4 must be built because it never has been before or the last one failed
➤ YN0007: │ core-js@npm:3.32.0 must be built because it never has been before or the last one failed
➤ YN0007: │ core-js-pure@npm:3.31.0 must be built because it never has been before or the last one failed
➤ YN0009: │ protobufjs@npm:7.2.4 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-46cfb9aa/build.log)
➤ YN0009: │ esbuild@npm:0.19.1 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-03f71264/build.log)
➤ YN0009: │ esbuild@npm:0.18.17 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-14790621/build.log)
➤ YN0009: │ esbuild@npm:0.17.19 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-07c8db9e/build.log)
➤ YN0000: └ Completed in 2s 306ms
➤ YN0000: Failed with errors in 3s 83ms

If I run it again, it fails with another error message:

yarn dev
                                                                                                                                                                                               
Type Error: Cannot read properties of undefined (reading '/home/vianney/dev/js/forks/rivet/.pnp.cjs')
    at wne (/home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:134:54215)
    at LXe (/home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:134:54684)
    at Object.zp (/home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:134:54825)
    at /home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:650:4665
    at Object.Sf (/home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:134:53360)
    at vh.findPackageLocation (/home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:650:4620)
    at /home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:184:1268
    at Function.from (<anonymous>)
    at qx (/home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:184:1012)
    at wue (/home/vianney/dev/js/forks/rivet/.yarn/releases/yarn-4.0.0-rc.45.cjs:184:1595)

What was the expected functionality?

Build

Describe your environment

Kubuntu 23.04
Node.js v20.6.1

Relevant log output

The file logs:

cat /tmp/xfs-46cfb9aa/build.log

# This file contains the result of Yarn building a package (protobufjs@npm:7.2.4)
# Script name: postinstall


node:internal/process/esm_loader:48
      internalBinding('errors').triggerUncaughtException(
                                ^
TypeError [Error]: [ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "file:///home/vianney/dev/js/forks/rivet/.yarn/unplugged/protobufjs-npm-7.2.4-c40bd79e8d/node_modules/protobufjs/package.json" needs an import assertion of type "json"
    at load$1 (file:///home/vianney/dev/js/forks/rivet/.pnp.loader.mjs:1487:17)
    at nextLoad (node:internal/modules/esm/hooks:832:28)
    at Hooks.load (node:internal/modules/esm/hooks:415:26)
    at MessagePort.handleMessage (node:internal/modules/esm/worker:168:24)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:807:20)
    at exports.emitMessage (node:internal/per_context/messageport:23:28) {
  code: 'ERR_IMPORT_ASSERTION_TYPE_MISSING'
}
cat /tmp/xfs-03f71264/build.log

# This file contains the result of Yarn building a package (esbuild@npm:0.19.1)
# Script name: postinstall


node:internal/process/esm_loader:48
      internalBinding('errors').triggerUncaughtException(
                                ^
TypeError [Error]: [ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "file:///home/vianney/dev/js/forks/rivet/.yarn/unplugged/esbuild-npm-0.19.1-892202a3bf/node_modules/esbuild/package.json" needs an import assertion of type "json"
    at load$1 (file:///home/vianney/dev/js/forks/rivet/.pnp.loader.mjs:1487:17)
    at nextLoad (node:internal/modules/esm/hooks:832:28)
    at Hooks.load (node:internal/modules/esm/hooks:415:26)
    at handleMessage (node:internal/modules/esm/worker:168:24)
    at checkForMessages (node:internal/modules/esm/worker:117:28)
    at process.<anonymous> (node:internal/modules/esm/worker:136:5)
    at process.emit (node:events:514:28)
    at process.emit (/home/vianney/dev/js/forks/rivet/.pnp.cjs:29840:25) {
  code: 'ERR_IMPORT_ASSERTION_TYPE_MISSING'
}

The other log files are the same.

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Cannot play recording twice, sometimes

What happened?

Clicking play recording after playing one already doesn't do anything.

What was the expected functionality?

Thought I fixed this

Describe your environment

Mac OS

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Renaming text or prompt inputs causes glitchiness

What happened?

When you rename an input port, and it's connected to something, then rivet gets pretty glitchy with the wires.

What was the expected functionality?

It should disconnect any invalid input when any names change.

Describe your environment

MacOS

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[UI] Unclear that graphs cannot be reordered

What happened?

With multiple graphs, when I drag graphs up/down with their drag handle it does not seem to actually reorder.

What was the expected functionality?

reorder the graphs

Describe your environment

MacOS

Relevant log output

none

Relevant screenshots

Monosnap.screencast.2023-08-10.11-26-19.mp4

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Documentation on extending Rivet Functionality

Feature Request

Right now the only reference we have for adding custom nodes is the calculate external function hidden in the rivet example, briefly referenced in the video on the website.

I'm sure many use cases will rely on using special nodes so it would be nice if we had clearer documentation on external calls: https://rivet.ironcladapp.com/docs/node-reference/external-call

and plugins: https://rivet.ironcladapp.com/docs/user-guide/plugins/creating-plugins

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Build error: failed to run custom build command for `javascriptcore-rs-sys v0.4.0`

What happened?

yarn dev

Bundling to bin/executor-bundle.js...
Compiling to native binary for linux...
> [email protected]
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v18.5.0-linux-x64           [====================] 100%

> Warning Cannot resolve 'config.extends'
  /home/vianney/dev/js/forks/rivet/packages/app-executor/bin/executor-bundle.js
  Dynamic require may fail at run time, because the requested file
  is unknown at compilation time and not included into executable.
  Use a string literal as an argument for 'require', or leave it
  as is and specify the resolved file name in 'scripts' option.
> Warning Cannot resolve 'path2'
  /home/vianney/dev/js/forks/rivet/packages/app-executor/bin/executor-bundle.js
  Dynamic require may fail at run time, because the requested file
  is unknown at compilation time and not included into executable.
  Use a string literal as an argument for 'require', or leave it
  as is and specify the resolved file name in 'scripts' option.
Copied dist/rivet-app-executor to dist/app-executor-x86_64-unknown-linux-gnu for tauri sidecar
     Running BeforeDevCommand (`yarn start`)

  VITE v4.4.7  ready in 494 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
        Info Watching /home/vianney/dev/js/forks/rivet/packages/app/src-tauri for changes...
    Updating crates.io index
    Updating git repository `https://github.com/tauri-apps/plugins-workspace`
    Updating git repository `https://github.com/tauri-apps/plugins-workspace`
  Downloaded gdkwayland-sys v0.15.3
  Downloaded string_cache_codegen v0.5.2
  Downloaded alloc-stdlib v0.2.2
  [...]
   Compiling regex-automata v0.3.6
   Compiling json-patch v1.0.0
   Compiling tauri-utils v1.4.0
The following warnings were emitted during compilation:

warning: `"pkg-config" "--libs" "--cflags" "libsoup-2.4" "libsoup-2.4 >= 2.62"` did not exit successfully: exit status: 1

error: failed to run custom build command for `soup2-sys v0.2.0`

Caused by:
  process didn't exit successfully: `/home/vianney/dev/js/forks/rivet/packages/app/src-tauri/target/debug/build/soup2-sys-3b58d5373361346e/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=LIBSOUP_2.4_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  cargo:warning=`"pkg-config" "--libs" "--cflags" "libsoup-2.4" "libsoup-2.4 >= 2.62"` did not exit successfully: exit status: 1
  error: could not find system library 'libsoup-2.4' required by the 'soup2-sys' crate

  --- stderr
  Package libsoup-2.4 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libsoup-2.4.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'libsoup-2.4', required by 'virtual:world', not found
  Package 'libsoup-2.4', required by 'virtual:world', not found

warning: build failed, waiting for other jobs to finish...
The following warnings were emitted during compilation:

warning: `"pkg-config" "--libs" "--cflags" "javascriptcoregtk-4.0" "javascriptcoregtk-4.0 >= 2.24"` did not exit successfully: exit status: 1

error: failed to run custom build command for `javascriptcore-rs-sys v0.4.0`

Caused by:
  process didn't exit successfully: `/home/vianney/dev/js/forks/rivet/packages/app/src-tauri/target/debug/build/javascriptcore-rs-sys-e38355fbdda0f806/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=JAVASCRIPTCOREGTK_4.0_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  cargo:warning=`"pkg-config" "--libs" "--cflags" "javascriptcoregtk-4.0" "javascriptcoregtk-4.0 >= 2.24"` did not exit successfully: exit status: 1
  error: could not find system library 'javascriptcoregtk-4.0' required by the 'javascriptcore-rs-sys' crate

  --- stderr
  Package javascriptcoregtk-4.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `javascriptcoregtk-4.0.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'javascriptcoregtk-4.0', required by 'virtual:world', not found
  Package 'javascriptcoregtk-4.0', required by 'virtual:world', not found

What was the expected functionality?

Build

Describe your environment

Kubuntu 23.04
Node.js v20.4.0

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: multi-selected nodes in 1 graph break dragging in other graph

What happened?

  1. in 1 graph, multi select some nodes
  2. change to a different graph
  3. attempt to drag/drop a node and it glitches and eventually ends up back where it started

What was the expected functionality?

drag/drop should work

Describe your environment

MacOS

Relevant log output

No response

Relevant screenshots

Monosnap.screencast.2023-08-10.11-30-17.mp4

Code of Conduct

  • I agree to follow this project's Code of Conduct

Document how to use node executor when running from source (or how to make builds)

Feature Request

The new HTTP request node is only available on main, however the workflow involves running Rivet through a browser where the browser executor will run into CORS issues very commonly.

The node executor doesn't seem like it's available when running from source, and I couldn't find any information about that or how to make builds.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Nodes and some context menu elements disappear (Kubuntu)

What happened?

Nodes become immediately invisible after adding them (regardless of the node type). They only appear briefly (< 1 second) on mouse-over, and then become invisible again.

If I manage to move a node below the left sidebar, it appears permanently (but blurred).

Also, the text of the tabs of the settings modal is invisible ("general", "OpenAI", "plugins" according to the doc). Same for the text of the items of the context menu of the left sidebar.

Feel free to ask me technical questions or suggest technical procedures: I'm a web developer.

What was the expected functionality?

Nodes should be visible.

Describe your environment

Kubuntu 23.04
Node.js v20.6.1
https://github.com/Ironclad/rivet/releases/download/app-v1.1.0/rivet_1.1.0_amd64.AppImage

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Subgraph drilldown (back button in UI)

Feature Request

In order to shortcut searching for subgraphs, it would be convenient to be able to drill down into a subgraph node by double clicking it (or via a button in the details sidepanel)

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Sidepanel for test cases lacks background and overlaps with remote debugging button

What happened?

See screenshot, reproducible by clicking the test cases button in the sidepanel

What was the expected functionality?

I expected the opaque background to appear in the sidepanel as well as the remote debugging button to not overlap with the testcases button

Describe your environment

MacOS, Node 14.0.0, etc.

Relevant log output

No response

Relevant screenshots

image

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: UI Plugin Framework

Feature Request

Right now plugins are only core plugins that work both in the UI and in the packages. We'll need to introduce a UI plugin as well that can extend the Rivet UI itself.

Code of Conduct

  • I agree to follow this project's Code of Conduct

This repo is huge. Remove cache and build files from Git?

What happened?

This Git repo is huge. It currently weighs 713 MB, with only 16 MB of code and assets.

Most of the size is due to cache and bin directories, and the Git objects (.git/objects/pack/pack-*.idx) that version them:

.yarn/ 
packages/app-executor/bin/
packages/app-executor/dist/
packages/docs/.yarn/
packages/cli/bin/ 
packages/python/
...

Is there any use in versioning them?

To remove the extraneous objects from Git:

Command to find them:

for hash in $(git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -n | tail -10 | awk '{print $1}'); do git rev-list --all --objects | grep $hash; done

Command to remove them safely:

git filter-repo --invert-paths --path .yarn/ --path packages/app-executor/bin/  --path packages/app-executor/dist/ --path packages/docs/.yarn/ --path packages/cli/bin/ --path packages/python/ [...]

(From https://github.com/newren/git-filter-repo/)

I was able to reduce the repo to 44 M.

You won't have to recommend your users to clone it with git clone --filter=blob:none anymore.

[Bug]: Plugin nodes unknown in subgraphs

What happened?

When I add AssemblyAI nodes into a subgraph, and call the subgraph from another graph, I get the following error:

Error: Unknown node type: assemblyAiTranscribeAudio
Error: Unknown node type: assemblyAiLemurQa

What was the expected functionality?

The nodes should be known and work.

Describe your environment

macOS using the latest Rivet release from downloads page.

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Color coded node types

Feature Request

Would help me find nodes of importance much faster if each type were a distinct color

Code of Conduct

  • I agree to follow this project's Code of Conduct

Anthropic fails CORS preflight requests in the Browser executor

I tried a simple graph with Chat (Anthropic) in the Browser executor but it fails with "Load failed". A bit of debugging and it appears that https://api.anthropic.com/v1/complete fails a CORS preflight check in the Browser executor. (OpenAI works fine.)

Anthropic works in the Node executor, so I am confident that the other Anthropic settings are correct.

(Incidentally... how do input nodes work in the Node executor? I needed to adapt my graph to not use Input. How does debugging the Node executor work? The UX flickers an orange badge but does not connect.)

[Feature]: Undo/Redo

Feature Request

Highly desirable feature, but will need a bunch of work to refactor how the state is recorded.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Documentation says node 16+, contributing.md says node 20+

What happened?

Ran into issues running Rivet locally from source with yarn dev, with errors around tsx. Noted that we were using Node 18, based on the documentation page saying 16+ was OK (https://rivet.ironcladapp.com/docs/getting-started/installation). But then checked Contributing.md, and saw it said to use 20+

What was the expected functionality?

Rivet did not run locally

Describe your environment

MacOS, Node 18 (via nvm)

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: HuggingFace / Other Custom Models

Feature Request

Support custom models, perhaps via HuggingFace or another library out there that normalizes all the inputs to the models

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Large inputs cause UI to freeze

What happened?

Easy to reproduce when loading an 11mb json file in a read file node

What was the expected functionality?

Should perform smoothly

Describe your environment

MacOS Ventura

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Embedded audio makes application unusably slow

What happened?

When an audio file has been loaded directly into an Audio node (embedded in the project), the entire application slows down

What was the expected functionality?

Should be stored separately as to not slow down the application. The problem has to do with constant state serialization including the embedded data.

Describe your environment

MacOS, Node 14.0.0, etc.

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Failed to render GraphBuilder (Ubuntu)

What happened?

I can't use the GUI, everything disappear once I select an action - and an error message shows in the interface: Failed to render GraphBuilder

What was the expected functionality?

The plain UI to be visible, action created to be visible and not blurred, right-clic to work as well.

Describe your environment

Ubuntu v23.04
Yarn v4.0.0-rc.45
node v20.6.1
npm v9.8.1
react v18.2.0

Relevant log output

/rivet$ yarn
➤ YN0000: ┌ Project validation
➤ YN0057: │ @ironclad/rivet-app: Resolutions field will be ignored
➤ YN0000: └ Completed
➤ YN0000: ┌ Resolution step
➤ YN0002: │ @algolia/autocomplete-core@npm:1.9.3 doesn't provide @algolia/client-search (pbc410), requested by @algolia/autocomplete-shared
➤ YN0002: │ @algolia/autocomplete-core@npm:1.9.3 doesn't provide algoliasearch (p8ad5b), requested by @algolia/autocomplete-shared
➤ YN0002: │ @algolia/autocomplete-core@npm:1.9.3 doesn't provide search-insights (pfdb70), requested by @algolia/autocomplete-plugin-algolia-insights
➤ YN0002: │ @algolia/autocomplete-plugin-algolia-insights@npm:1.9.3 [e43f4] doesn't provide @algolia/client-search (pdf3b9), requested by @algolia/autocomplete-shared
➤ YN0002: │ @algolia/autocomplete-plugin-algolia-insights@npm:1.9.3 [e43f4] doesn't provide algoliasearch (p0f6bb), requested by @algolia/autocomplete-shared
➤ YN0002: │ @atlaskit/modal-dialog@npm:12.6.9 [388c2] doesn't provide react-dom (pa1855), requested by @atlaskit/portal
➤ YN0002: │ @atlaskit/popper@npm:5.5.4 [9ee97] doesn't provide react-dom (p9dacd), requested by react-popper
➤ YN0002: │ @atlaskit/side-navigation@npm:2.0.4 [388c2] doesn't provide react-dom (p5f5ce), requested by @atlaskit/menu
➤ YN0002: │ @docsearch/react@npm:3.5.2 [45935] doesn't provide @algolia/client-search (p8cbb4), requested by @algolia/autocomplete-preset-algolia
➤ YN0002: │ @ironclad/rivet-app@workspace:packages/app doesn't provide @typescript-eslint/parser (p52c17), requested by @typescript-eslint/eslint-plugin
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p0d8ba) with version 18.2.0, which doesn't satisfy what @atlaskit/tokens requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p09bd4) with version 18.2.0, which doesn't satisfy what @atlaskit/theme requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p47042) with version 18.2.0, which doesn't satisfy what @atlaskit/icon requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p6c641) with version 18.2.0, which doesn't satisfy what @atlaskit/button and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p613bc) with version 18.2.0, which doesn't satisfy what @atlaskit/menu requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p57ddd) with version 18.2.0, which doesn't satisfy what @atlaskit/popup requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p010de) with version 18.2.0, which doesn't satisfy what @atlaskit/form and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p664cc) with version 18.2.0, which doesn't satisfy what @atlaskit/textfield requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pbeed5) with version 18.2.0, which doesn't satisfy what @atlaskit/portal requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p12a65) with version 18.2.0, which doesn't satisfy what @atlaskit/banner and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p9cf70) with version 18.2.0, which doesn't satisfy what @atlaskit/checkbox requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pb1f52) with version 18.2.0, which doesn't satisfy what @atlaskit/css-reset requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p00d1e) with version 18.2.0, which doesn't satisfy what @atlaskit/dropdown-menu requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pc6d35) with version 18.2.0, which doesn't satisfy what @atlaskit/inline-edit and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p720fb) with version 18.2.0, which doesn't satisfy what @atlaskit/modal-dialog and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p8de0e) with version 18.2.0, which doesn't satisfy what @atlaskit/select and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (pd7499) with version 18.2.0, which doesn't satisfy what @atlaskit/side-navigation and some of its descendants request
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p69491) with version 18.2.0, which doesn't satisfy what @atlaskit/tabs requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p5c2ae) with version 18.2.0, which doesn't satisfy what @atlaskit/textarea requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react (p23a63) with version 18.2.0, which doesn't satisfy what @atlaskit/toggle requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (pe223a) with version 18.2.0, which doesn't satisfy what @atlaskit/menu requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (pea2fd) with version 18.2.0, which doesn't satisfy what @atlaskit/popup requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (p39d52) with version 18.2.0, which doesn't satisfy what @atlaskit/portal requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (pa1f4f) with version 18.2.0, which doesn't satisfy what @atlaskit/dropdown-menu requests
➤ YN0060: │ @ironclad/rivet-app@workspace:packages/app provides react-dom (p51537) with version 18.2.0, which doesn't satisfy what @atlaskit/select and some of its descendants request
➤ YN0002: │ @ironclad/rivet-core@workspace:packages/core doesn't provide @types/node (p2a077), requested by ts-node
➤ YN0002: │ @ironclad/rivet-core@workspace:packages/core doesn't provide @typescript-eslint/parser (pcafdb), requested by @typescript-eslint/eslint-plugin
➤ YN0002: │ @ironclad/rivet-node@workspace:packages/node doesn't provide @typescript-eslint/parser (p5d7b8), requested by @typescript-eslint/eslint-plugin
➤ YN0002: │ @ironclad/rivet@workspace:. doesn't provide @typescript-eslint/parser (p14739), requested by @typescript-eslint/eslint-plugin
➤ YN0002: │ @ironclad/trivet@workspace:packages/trivet doesn't provide @typescript-eslint/parser (pc3af5), requested by @typescript-eslint/eslint-plugin
➤ YN0060: │ docs@workspace:packages/docs provides react (p4e1cc) with version 18.2.0, which doesn't satisfy what @docusaurus/types requests
➤ YN0060: │ docs@workspace:packages/docs provides react (p9d5e3) with version 18.2.0, which doesn't satisfy what @docusaurus/core and some of its descendants request
➤ YN0060: │ docs@workspace:packages/docs provides react (p1334f) with version 18.2.0, which doesn't satisfy what @mdx-js/react requests
➤ YN0060: │ docs@workspace:packages/docs provides react (p0e283) with version 18.2.0, which doesn't satisfy what @docusaurus/preset-classic and some of its descendants request
➤ YN0060: │ docs@workspace:packages/docs provides react-dom (p1a640) with version 18.2.0, which doesn't satisfy what @docusaurus/types requests
➤ YN0060: │ docs@workspace:packages/docs provides react-dom (p47f6f) with version 18.2.0, which doesn't satisfy what @docusaurus/core and some of its descendants request
➤ YN0060: │ docs@workspace:packages/docs provides react-dom (p45133) with version 18.2.0, which doesn't satisfy what @docusaurus/preset-classic and some of its descendants request
➤ YN0002: │ eslint-config-react-app@npm:7.0.1 [388c2] doesn't provide @babel/plugin-syntax-flow (p32599), requested by eslint-plugin-flowtype
➤ YN0002: │ eslint-config-react-app@npm:7.0.1 [388c2] doesn't provide @babel/plugin-transform-react-jsx (pff2ca), requested by eslint-plugin-flowtype
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 0s 298ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 0s 331ms
➤ YN0000: ┌ Link step
➤ YN0000: └ Completed in 0s 502ms
➤ YN0000: Done with warnings in 1s 215ms
/rivet$ yarn dev
Bundling to bin/executor-bundle.js...
Compiling to native binary for linux...
> [email protected]
> Warning Cannot resolve 'config.extends'
  rivet/packages/app-executor/bin/executor-bundle.js
  Dynamic require may fail at run time, because the requested file
  is unknown at compilation time and not included into executable.
  Use a string literal as an argument for 'require', or leave it
  as is and specify the resolved file name in 'scripts' option.
> Warning Cannot resolve 'path2'
  /rivet/packages/app-executor/bin/executor-bundle.js
  Dynamic require may fail at run time, because the requested file
  is unknown at compilation time and not included into executable.
  Use a string literal as an argument for 'require', or leave it
  as is and specify the resolved file name in 'scripts' option.
Copied dist/rivet-app-executor to dist/app-executor-x86_64-unknown-linux-gnu for tauri sidecar
     Running BeforeDevCommand (`yarn start`)

  VITE v4.4.9  ready in 390 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
        Info Watching /rivet/packages/app/src-tauri for changes...
   Compiling glib-sys v0.15.10
   Compiling gobject-sys v0.15.10
   Compiling gdk-sys v0.15.1
   Compiling gio-sys v0.15.10
   Compiling atk-sys v0.15.1
   Compiling cairo-sys-rs v0.15.1
   Compiling pango-sys v0.15.10
   Compiling gdk-pixbuf-sys v0.15.10
   Compiling soup2-sys v0.2.0
   Compiling openssl-sys v0.9.91
   Compiling javascriptcore-rs-sys v0.4.0
   Compiling x11-dl v2.21.0
   Compiling app v0.1.0 (/rivet/packages/app/src-tauri)
   Compiling openssl v0.10.56
   Compiling native-tls v0.2.11
   Compiling gtk-sys v0.15.3
   Compiling gdkx11-sys v0.15.1
   Compiling tao v0.16.2
   Compiling gtk v0.15.5
   Compiling webkit2gtk-sys v0.18.0
   Compiling rfd v0.10.0
   Compiling wry v0.24.3
   Compiling glib v0.15.12
   Compiling gdkwayland-sys v0.15.3
   Compiling tokio-native-tls v0.3.1
   Compiling hyper-tls v0.5.0
   Compiling reqwest v0.11.19
   Compiling gio v0.15.12
   Compiling cairo-rs v0.15.12
   Compiling pango v0.15.10
   Compiling atk v0.15.1
   Compiling javascriptcore-rs v0.16.0
   Compiling gdk-pixbuf v0.15.11
   Compiling soup2 v0.2.1
   Compiling gdk v0.15.4
   Compiling webkit2gtk v0.18.2
   Compiling tauri-runtime v0.14.0
   Compiling tauri-runtime-wry v0.14.0
   Compiling tauri v1.4.1
   Compiling tauri-plugin-persisted-scope v0.1.0 (https://github.com/tauri-apps/plugins-workspace?branch=dev#dce0f02b)
   Compiling tauri-plugin-window-state v0.1.0 (https://github.com/tauri-apps/plugins-workspace?branch=v1#6647e6ea)
    Finished dev [unoptimized + debuginfo] target(s) in 1m 01s
10:04:54 PM [vite] warning: 
/rivet/packages/app/src/hooks/useProjectPlugins.ts
27 |                throw new Error(`Unknown built-in plugin ${name}.`);
28 |              }).with({ type: "uri" }, async (spec2) => {
29 |                const plugin = (await import(spec2.uri)).default;
   |                                             ^
30 |                if (!plugin?.id) {
31 |                  throw new Error(`Plugin ${spec2.id} does not have an id`);
The above dynamic import cannot be analyzed by Vite.
See https://github.com/rollup/plugins/tree/master/packages/dynamic-import-vars#limitations for supported dynamic import formats. If this is intended to be left as-is, you can use the /* @vite-ignore */ comment inside the import() call to suppress this warning.

  Plugin: vite:import-analysis
  File: /rivet/packages/app/src/hooks/useProjectPlugins.ts

Relevant screenshots

image

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Auto save projects

Feature Request

As a rivet user, I want my projects to be auto-saved, this would save the user a few cmd-s clicks to loosing the project work for unplanned app closes and crashes.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: I have to add plugins every time I open project

What happened?

Whenever I open my project for the first time, the plugins are not loaded. Can the used plugins be stored inside the project (without sensitive settings), so it will be enabled when we open the project again?

What was the expected functionality?

The plugins should remain enabled if I enabled them before for a project.

Describe your environment

MacOS, Node v20.5.1

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Origin tauri://localhost is not allowed by Access-Control-Allow-Origin. Status code: 204

What happened?

I get a CORS error when I send an HTTP request (same error from browser or Node.js).

[Error] Origin tauri://localhost is not allowed by Access-Control-Allow-Origin. Status code: 204
[Error] Fetch API cannot load https://api-prod.omnivore.app/api/graphql due to access control checks.

The same query works from Postman and curl.

The server probably rejects "origin: tauri://localhost".

(I tested with https://mockbin.com that this is not this bug: tauri-apps/tauri#2327);

See also #28

What was the expected functionality?

HTTP

Describe your environment

Kubuntu 23.04
rivet_1.2.1_amd64.AppImage

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Option to break projects into multiple files

Feature Request

One file per graph, one file per test suite I think. Probably a configurable option in the project panel, because keeping everything in one file definitely has its benefits.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: After adding a faulty plugin in "Add Remote Plugin", no other plugin can be imported

What happened?

After adding a faulty plugin in "Add Remote Plugin", no other plugin can be imported: the button on the right is stuck in the "Loading..." state. The project must be reopened before a plugin can be imported again.

What was the expected functionality?

Pasting a new URL in "Add Remote Plugin" should reset the button.

Describe your environment

Kubuntu 23.04
rivet_1.2.1_amd64.AppImage

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Array handling: Lift operations over arrays, have a "merge" operator, etc.

I'm working on a practical use case: taking a saved Cody transcript and trying to "replay" it with some modifications. This is typical for our prompt development and testing; to date I do this in Python.

Inputs are JSON, and typically we want to take params.messages which is [{speaker: 'human' : 'assistant', text: string}], modify the trailing message or two, serialize it to a prompt for Anthropic Claude, and prompt the LLM with that.

It appears the array handling capabilities of Rivet aren't up to this kind of task? It seems if Extract Object Path produces an array match, then piping this into an Extract Object Path object to select "speaker" isn't lifted over the elements in the array. That is, I can select "length" and not $\forall$.speaker or something.

Similarly for a node with multiple inputs, it would be nice to take multiple independent arrays and "zip" them with the node as a constructor.

I attempted simply rendering a prompt without any changes and even this workflow seemed involved enough that it would be nice to have recursive "boxes" that I could zoom out of and reuse as functions.

[Bug]: Test Bug report

What happened?

A bug happened!

What was the expected functionality?

Rivet did not work as expected!

Describe your environment

MacOS, Node 14.0.0, etc.

Relevant log output

No response

Relevant screenshots

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: 0.3.1 build on Mac shows up empty, unresponsive

What happened?

When opening the pre-built package for Mac, the UI shows up empty and does not respond to any of the menu items.

Happy to follow-up with more info if there's additional context that's needed.

Older tags also experience this (0.3.0, 0.2.0)

What was the expected functionality?

Either some UI elements appear to enable creating a new project/graph, or a response in the menus (e.g. being able to select options and configure API key, etc.)

Describe your environment

  • Model: MPB 16" 2021
  • CPU: Apple M1 Max
  • GPU: M1 integrated
  • RAM: 32GB LPDDR5
  • OS: macOS Venture 13.0

Relevant log output

No response

Relevant screenshots

RivetApp

Code of Conduct

  • I agree to follow this project's Code of Conduct

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.