Skip to content

Commit fb9ed0d

Browse files
bchapuisclaude
andcommitted
Add asTool: true to integration, media, and document nodes for AI agent tool use
Enables 59 nodes as AI agent tools, focused on external capabilities that LLMs cannot perform natively: API integrations (GitHub, Google Calendar, Gmail, Discord, Telegram, WhatsApp, LinkedIn, email, SMS), binary data conversion (blob nodes), document conversion (to-markdown), image processing (EXIF, resize, info), and speech-to-text (Whisper). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 06a71d3 commit fb9ed0d

59 files changed

Lines changed: 59 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/runtime/src/nodes/audio/whisper-large-v3-turbo-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export class WhisperLargeV3TurboNode extends ExecutableNode {
2626
referenceUrl:
2727
"https://developers.cloudflare.com/workers-ai/models/whisper-large-v3-turbo/",
2828
usage: 1,
29+
asTool: true,
2930
inputs: [
3031
{
3132
name: "audio",

packages/runtime/src/nodes/audio/whisper-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export class WhisperNode extends ExecutableNode {
2626
referenceUrl:
2727
"https://developers.cloudflare.com/workers-ai/models/whisper/",
2828
usage: 1,
29+
asTool: true,
2930
inputs: [
3031
{
3132
name: "audio",

packages/runtime/src/nodes/blob/blob-to-json-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export class BlobToJsonNode extends ExecutableNode {
1616
documentation:
1717
"This node parses a blob containing JSON data and outputs the parsed JSON object. The blob is expected to contain valid JSON text data.",
1818
inlinable: true,
19+
asTool: true,
1920
inputs: [
2021
{
2122
name: "blob",

packages/runtime/src/nodes/blob/blob-to-text-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export class BlobToTextNode extends ExecutableNode {
1616
documentation:
1717
"This node decodes a blob containing text data and outputs it as a string. Supports any text-based content (plain text, HTML, CSV, XML, etc.).",
1818
inlinable: true,
19+
asTool: true,
1920
inputs: [
2021
{
2122
name: "blob",

packages/runtime/src/nodes/blob/json-to-blob-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export class JsonToBlobNode extends ExecutableNode {
1616
documentation:
1717
"This node converts JSON data to a blob with application/json MIME type. Useful for creating HTTP request bodies or storing JSON as binary data.",
1818
inlinable: true,
19+
asTool: true,
1920
inputs: [
2021
{
2122
name: "json",

packages/runtime/src/nodes/blob/text-to-blob-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export class TextToBlobNode extends ExecutableNode {
1616
documentation:
1717
"This node converts text content to a blob with a specified MIME type. Useful for creating HTTP request bodies, files, or storing text as binary data with custom content types.",
1818
inlinable: true,
19+
asTool: true,
1920
inputs: [
2021
{
2122
name: "text",

packages/runtime/src/nodes/discord/get-channel-discord-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export class GetChannelDiscordNode extends ExecutableNode {
1717
"This node retrieves detailed information about a Discord channel. Requires a connected Discord integration.",
1818
usage: 10,
1919
subscription: true,
20+
asTool: true,
2021
inputs: [
2122
{
2223
name: "integrationId",

packages/runtime/src/nodes/discord/get-guild-discord-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export class GetGuildDiscordNode extends ExecutableNode {
1717
"This node retrieves detailed information about a Discord guild. Requires a connected Discord integration with guilds scope.",
1818
usage: 10,
1919
subscription: true,
20+
asTool: true,
2021
inputs: [
2122
{
2223
name: "integrationId",

packages/runtime/src/nodes/discord/list-guild-channels-discord-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export class ListGuildChannelsDiscordNode extends ExecutableNode {
1717
"This node retrieves all channels in a Discord guild. Requires a connected Discord integration with guilds scope.",
1818
usage: 10,
1919
subscription: true,
20+
asTool: true,
2021
inputs: [
2122
{
2223
name: "integrationId",

packages/runtime/src/nodes/discord/send-message-discord-node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export class SendMessageDiscordNode extends ExecutableNode {
1717
"This node sends messages to Discord channels using the Discord API. Requires a connected Discord integration from your organization's integrations.",
1818
usage: 10,
1919
subscription: true,
20+
asTool: true,
2021
inputs: [
2122
{
2223
name: "integrationId",

0 commit comments

Comments
 (0)