-
Notifications
You must be signed in to change notification settings - Fork 1.9k
feat(nodes): add Guild.ai tool node #1689
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
EdwardLien0426
merged 9 commits into
rocketride-org:develop
from
EdwardLien0426:feat/RR-1688-tool-guild
Jul 29, 2026
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
4400014
feat(nodes): add Guild.ai tool node
EdwardLien0426 be41358
fix(nodes): address CodeRabbit review on tool_guild
EdwardLien0426 a55e870
fix(nodes): read services.json as utf-8 in tool_guild tests
EdwardLien0426 fb728ea
docs(examples): tighten guild delegate retry guidance
EdwardLien0426 f4ba006
fix(nodes): address maintainer review on tool_guild
EdwardLien0426 320aea8
docs(examples): note billed-session-on-timeout for the guild pipeline…
EdwardLien0426 2b72342
fix(nodes): fix the get_session_events limit contract on tool_guild
EdwardLien0426 65d8e2c
ci: retrigger checks (upstream onnxruntime pin + npm flake, not this …
EdwardLien0426 98b392b
Merge remote-tracking branch 'upstream/develop' into feat/RR-1688-too…
EdwardLien0426 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| { | ||
| "components": [ | ||
| { | ||
| "id": "webhook_1", | ||
| "provider": "webhook", | ||
| "name": "Webhook", | ||
| "config": { | ||
| "hideForm": true, | ||
| "mode": "Source", | ||
| "parameters": {}, | ||
| "type": "webhook" | ||
| }, | ||
| "ui": { | ||
| "position": { | ||
| "x": 20, | ||
| "y": 200 | ||
| }, | ||
| "measured": { | ||
| "width": 150, | ||
| "height": 66 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| }, | ||
| { | ||
| "id": "tool_guild_1", | ||
| "provider": "tool_guild", | ||
| "name": "Guild.ai", | ||
| "config": { | ||
| "type": "tool_guild", | ||
| "baseUrl": "https://app.guild.ai", | ||
| "apiKeyId": "${ROCKETRIDE_GUILD_KEY_ID}", | ||
| "apiKeySecret": "${ROCKETRIDE_GUILD_KEY_SECRET}", | ||
| "owner": "${ROCKETRIDE_GUILD_OWNER}", | ||
| "workspace": "${ROCKETRIDE_GUILD_WORKSPACE}", | ||
| "agent": "${ROCKETRIDE_GUILD_AGENT}", | ||
| "resultMode": "wait", | ||
| "timeout": 300, | ||
| "parameters": {} | ||
| }, | ||
| "input": [ | ||
| { | ||
| "lane": "text", | ||
| "from": "webhook_1" | ||
| } | ||
| ], | ||
| "ui": { | ||
| "position": { | ||
| "x": 240, | ||
| "y": 200 | ||
| }, | ||
| "measured": { | ||
| "width": 150, | ||
| "height": 66 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| }, | ||
| { | ||
| "id": "response_text_1", | ||
| "provider": "response_text", | ||
| "name": "Return Text", | ||
| "config": { | ||
| "laneName": "text" | ||
| }, | ||
| "input": [ | ||
| { | ||
| "lane": "text", | ||
| "from": "tool_guild_1" | ||
| } | ||
| ], | ||
| "ui": { | ||
| "position": { | ||
| "x": 460, | ||
| "y": 200 | ||
| }, | ||
| "measured": { | ||
| "width": 150, | ||
| "height": 66 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| } | ||
| ], | ||
| "project_id": "45094b41-0b73-44ca-b7de-1b5030a21f9f", | ||
| "viewport": { | ||
| "x": 0, | ||
| "y": 0, | ||
| "zoom": 1 | ||
| }, | ||
| "version": 1 | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,162 @@ | ||
| { | ||
| "components": [ | ||
| { | ||
| "id": "chat_1", | ||
| "provider": "chat", | ||
| "name": "Chat", | ||
| "config": { | ||
| "hideForm": true, | ||
| "mode": "Source", | ||
| "parameters": {}, | ||
| "type": "chat" | ||
| }, | ||
| "ui": { | ||
| "position": { | ||
| "x": 20, | ||
| "y": 200 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| }, | ||
| { | ||
| "id": "agent_rocketride_1", | ||
| "provider": "agent_rocketride", | ||
| "name": "RocketRide Agent", | ||
| "config": { | ||
| "instructions": [ | ||
| "You are an operations assistant. You answer questions directly, but you do NOT take actions on external systems yourself.", | ||
| "When a request requires acting on a governed system — filing a ticket, updating a record, notifying a team — delegate it to Guild by calling tool_guild_1.run_agent with a clear, self-contained instruction as the `input`.", | ||
| "tool_guild_1.run_agent waits for the Guild agent to finish and returns its answer in `output`. Each call starts a billed, non-idempotent Guild session: never repeat a call that succeeded, and do NOT blindly retry one that failed, timed out, or errored — the session may already be running, and a retry starts and bills a second one.", | ||
| "Errors are surfaced to you directly, not as a success flag. Retry only when the error conclusively proves that no session was started. Otherwise, inspect the existing session with get_session / get_session_events when possible, or report the uncertain outcome; authentication errors are not retryable.", | ||
| "When a run is uncertain — it timed out, errored, or you started it without waiting — use tool_guild_1.get_session and tool_guild_1.get_session_events to check its status and retrieve the answer, rather than starting a new session." | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| ], | ||
| "max_waves": 20, | ||
| "parameters": {} | ||
| }, | ||
| "input": [ | ||
| { | ||
| "lane": "questions", | ||
| "from": "chat_1" | ||
| } | ||
| ], | ||
| "ui": { | ||
| "position": { | ||
| "x": 240, | ||
| "y": 200 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| }, | ||
| { | ||
| "id": "llm_anthropic_1", | ||
| "provider": "llm_anthropic", | ||
| "name": "Anthropic", | ||
| "config": { | ||
| "profile": "claude-sonnet-4-6", | ||
| "claude-sonnet-4-6": { | ||
| "apikey": "${ROCKETRIDE_ANTHROPIC_KEY}" | ||
| }, | ||
| "parameters": {} | ||
| }, | ||
| "control": [ | ||
| { | ||
| "classType": "llm", | ||
| "from": "agent_rocketride_1" | ||
| } | ||
| ], | ||
| "ui": { | ||
| "position": { | ||
| "x": 80, | ||
| "y": 360 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| }, | ||
| { | ||
| "id": "tool_guild_1", | ||
| "provider": "tool_guild", | ||
| "name": "Guild.ai", | ||
| "config": { | ||
| "type": "tool_guild", | ||
| "baseUrl": "https://app.guild.ai", | ||
| "apiKeyId": "${ROCKETRIDE_GUILD_KEY_ID}", | ||
| "apiKeySecret": "${ROCKETRIDE_GUILD_KEY_SECRET}", | ||
| "owner": "${ROCKETRIDE_GUILD_OWNER}", | ||
| "workspace": "${ROCKETRIDE_GUILD_WORKSPACE}", | ||
| "agent": "${ROCKETRIDE_GUILD_AGENT}", | ||
| "resultMode": "wait", | ||
| "timeout": 300, | ||
| "maxSessions": 10, | ||
| "parameters": {} | ||
| }, | ||
| "control": [ | ||
| { | ||
| "classType": "tool", | ||
| "from": "agent_rocketride_1" | ||
| } | ||
| ], | ||
| "ui": { | ||
| "position": { | ||
| "x": 500, | ||
| "y": 360 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| }, | ||
| { | ||
| "id": "memory_internal_1", | ||
| "provider": "memory_internal", | ||
| "name": "Memory (Internal)", | ||
| "config": { | ||
| "type": "memory_internal" | ||
| }, | ||
| "control": [ | ||
| { | ||
| "classType": "memory", | ||
| "from": "agent_rocketride_1" | ||
| } | ||
| ], | ||
| "ui": { | ||
| "position": { | ||
| "x": 300, | ||
| "y": 360 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| }, | ||
| { | ||
| "id": "response_answers_1", | ||
| "provider": "response_answers", | ||
| "name": "Return Answers", | ||
| "config": { | ||
| "laneName": "answers" | ||
| }, | ||
| "input": [ | ||
| { | ||
| "lane": "answers", | ||
| "from": "agent_rocketride_1" | ||
| } | ||
| ], | ||
| "ui": { | ||
| "position": { | ||
| "x": 460, | ||
| "y": 200 | ||
| }, | ||
| "nodeType": "default", | ||
| "formDataValid": true | ||
| } | ||
| } | ||
| ], | ||
| "project_id": "6b219e69-d9ea-41fb-a6f4-724e3b5784ad", | ||
| "viewport": { | ||
| "x": 0, | ||
| "y": 0, | ||
| "zoom": 1 | ||
| }, | ||
| "version": 1 | ||
| } | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.