Open miguel-nascimento opened 10 months ago
The latest updates on your projects. Learn more about Vercel for Git ↗︎
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
zipper-run | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Jan 8, 2024 6:36pm |
After the base change, applet run isn't working. Probably due to a change in the boot.
Using
main
branch as base this time. Made using rebase, this PR is only to use the GitHub UI in order to compare both PRConnectors v2
Connectors v2 went through many tests until we got a MVP. This document explains the different ways we tried, the things we thought about at each step, and where we are headed.
Connectors as Code
The idea with connectors as code was to put all possible settings directly into the code, creating objects like
slackConfig
orgithubConfig
.These would have information about the connector like
clientId
,botScopes
, anduserScopes
. This way, we could easily change the values in the code to set up any connector.To save and get these values, we used
ts-morph
, but that caused some problems. Users could change the connector config to non-literal values.For example:
In order to grab value from
.env
, or grab any dynamic value, we would need to run the code. And tools likets-morph
cant do this. This invalidates theconnector-as-code
approach.We need to run and get the config.
Connectors as Handler (Current Version)
The connectors as a handler approach is similar to connectors as code, but now we use the handler to run the applet and get the config.
This solves the problem of non-literal values and handles OAuth-related issues by using other applets to get links, like slack-install-link.
This way, connectors can work in different ways based on actions, like just giving back the configurations or doing OAuth, for example,
case “get-auth-url”
orcase “get-config”
.There are some concerns with this method, though. Some connectors might need code execution and HTTP calls, which could take a long time or might fail. If zipper.run has downtimes, the connectors won’t work.
Other issues include:
Current things missing: