-
Notifications
You must be signed in to change notification settings - Fork 21
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
Passing relative (and especially sub-board) URLs to be invoked later #1350
Comments
One simple solution might be to lean into the |
There's a related issue with the Board selector. If I load a board using – say – the FS API, and I select Options I can think of:
|
Yeah, the approach i will try to day is separating compose-time and run-time URL resolution. Basically, we will use relative URLs at compose-time and resolve them into absolute URLs at run-time. |
So we don't forget, this currently expands the URL in place: https://github.com/breadboard-ai/breadboard/blob/main/packages/breadboard-ui/src/elements/node-info/board-selector.ts#L182-L189 For any absolute URLs it works out because they don't get changed. For the |
…g graphs - **Introduce `path` and `url` in `BreadboardCapability`.** - **Add path resolution for BreadboardCapability.** - **Somewhat working.** - **Be more forgiving about UnresolvedPathBoardCapability.** - **Take care of strings and undefined.** - **docs(changeset): Split run-time and build-time URL resolutions for loading graphs.** Progress on #1350.
The relative URLs should now work, as long as we're not linking them across different |
Some incomplete notes to self on the trickier part:
|
There are cases where we pass boards as relative URLs to be invoked later. In these cases, the base URL is no longer valid. A good example is Repeater, which is a graph that pretends to be a node in the Agent Kit. This graph takes in a "worker" input, which is a
board
. This input is then used to repeatedly invoke the graph, specified by the input.When a user passes a relative URL to this graph, their expectation is that this URL is resolved relative to the graph in which Repeater is situated. However, since it is passed inside of the graph, by the time it reaches the
invoke
node, the base URL is now the URL of the Repeater graph.This is especially relevant for subgraphs, because the only workaround right now is to only specify absolute URLs, which means that we could find ourselves encoding various provider-specific URLs into boards:
Which is no good.
Need to figure out what to do here.
The text was updated successfully, but these errors were encountered: