Skip to content
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

feat: add Pipedream components integration #145

Closed
wants to merge 12 commits into from

Conversation

devin-ai-integration[bot]
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Dec 16, 2024

Pipedream Components Integration

This PR adds Pipedream components integration to AgentStack, with the following updates:

  • Added detailed TODOs for future enhancements:
    • Workflow-specific operations (create/update/delete)
    • Webhook management capabilities
    • Component version control integration
    • Custom component deployment support

Testing Status

  • MyPy type checking passed successfully
  • Note: Full test implementation is pending framework test setup

Link to Devin run: https://app.devin.ai/sessions/f18a72d0753344f48fc38859e99f4b3f

- Add PipedreamActionTool and PipedreamSourceTool implementation
- Add tool configuration and documentation
- Add example usage with both action and source components

Co-Authored-By: [email protected] <[email protected]>
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR
  • Look at CI failures and help fix them

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Add "(aside)" to your comment to have me ignore it.

@tcdent
Copy link
Collaborator

tcdent commented Dec 16, 2024

This is great! Couple notes:

The PipedreamError inherits from Exception, which means to catch any errors in the app, we'd need to be explicit about which tool they are coming from. Let's create and subclass a tool exception for all exception cases inside the tool functionality.

You're repeating the auth headers in both tools instances, let's break that out into a higher level so if can be reused between tools. Either create a new pipedream API client inside the tool, or use the official python implementation from pipedream.

The agent inside agentstack should have everything it needs to find and use the available tools. We should be able to:

  • List all of the apps that pipedream supports
  • List all of the commands available for an app
  • Define component props so users can share any data they need with the app on pipedream. I'm pretty sure this is used for things like API keys and user names on other services.

Reference this documentation for details of the implementation: https://pipedream.com/docs/connect/components

@bboynton97
Copy link
Contributor

closing this - if pipedream wants to be added as a tool, the docs are available here

@bboynton97 bboynton97 closed this Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants