-
Notifications
You must be signed in to change notification settings - Fork 137
chore: form extension rework #1481
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
Conversation
758bb3c to
4639312
Compare
|
@dosu what are the affected docs in docs folder? |
|
Hi @tomkis! I'm Dosu and I’m helping the agentstack team. The affected docs in the docs folder are:
All these changes were made in PR #1137. No other docs in the folder were changed by the form extension rework. To reply, just mention @dosu. How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other |
3dbff2d to
d0c66c1
Compare
|
@jenna-winkler this is a breaking change for the 0.4.X users, we'll bump up the version to 0.5.0. We should provide migration guide that can be prepared from the diff in documentation in this PR. |
| err_console.print(_render_examples(agent)) | ||
| exit(1) | ||
|
|
||
| initial_form_render = next( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably refactor this and use the extension client and parse as service extension cc @jezekra1
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a significant and well-executed rework of the form extension, splitting it into a service extension for initial forms and a UI extension for dynamic form requests. This refactoring improves modularity and clarifies the distinction between different form use cases. The changes are consistently applied across the Python SDK, TypeScript SDK, CLI, and UI applications, and the documentation has been updated accordingly. I've identified a couple of issues: a potential KeyError and a typo in the Python SDK, and a state mutation bug in the React UI. Once these are addressed, this will be a solid improvement to the codebase.
apps/agentstack-sdk-py/src/agentstack_sdk/a2a/extensions/services/form.py
Outdated
Show resolved
Hide resolved
apps/agentstack-ui/src/modules/runs/contexts/agent-demands/AgentDemandsProvider.tsx
Outdated
Show resolved
Hide resolved
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a significant and well-executed refactoring of the form extensions. The original FormExtension is split into FormServiceExtension for initial, agent-demanded forms, and RequestFormExtension for dynamic, UI-requested forms. This separation greatly improves clarity and the developer experience. The changes are consistently applied across the Python SDK, TypeScript SDK, CLI, UI components, and documentation. The new APIs are more intuitive, especially with the improved model-based form parsing. Overall, this is an excellent improvement. I have a couple of minor suggestions to clean up a small piece of potentially confusing code in the UI context providers.
apps/agentstack-ui/src/modules/runs/contexts/agent-demands/agent-demands-context.ts
Show resolved
Hide resolved
apps/agentstack-ui/src/modules/runs/contexts/agent-run/AgentRunProvider.tsx
Show resolved
Hide resolved
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request is a significant and well-executed refactoring of the form extensions, separating initial form services from dynamic UI form requests. The changes are consistent across the Python SDK, TypeScript SDK, CLI, and documentation, leading to a much clearer and more robust API. I've found one high-severity issue in the UI implementation where incorrect metadata could be sent for initial form submissions, and I've provided a fix. Once that's addressed, this will be an excellent improvement.
apps/agentstack-ui/src/modules/runs/contexts/agent-run/AgentRunProvider.tsx
Show resolved
Hide resolved
apps/agentstack-sdk-ts/src/client/a2a/extensions/common/form.ts
Outdated
Show resolved
Hide resolved
apps/agentstack-sdk-ts/src/client/a2a/extensions/handle-input-required.ts
Outdated
Show resolved
Hide resolved
apps/agentstack-sdk-ts/src/client/a2a/extensions/services/form.ts
Outdated
Show resolved
Hide resolved
apps/agentstack-ui/src/modules/runs/contexts/agent-run/AgentRunProvider.tsx
Outdated
Show resolved
Hide resolved
apps/agentstack-ui/src/modules/runs/contexts/agent-demands/AgentDemandsProvider.tsx
Show resolved
Hide resolved
55474d5 to
2d6faea
Compare
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
Signed-off-by: Tomas Weiss <[email protected]>
9093294 to
94c0d5b
Compare
Signed-off-by: Petr Bulánek <[email protected]>
Signed-off-by: Petr Bulánek <[email protected]>
Signed-off-by: Petr Bulánek <[email protected]>
Signed-off-by: Eden Gilbert <[email protected]>
…1513) * Add blog post: How to Run a BeeAI Framework Agent as an A2A Server Signed-off-by: Eden Gilbert <[email protected]> * Finalize A2A Server blog post after preview edits Signed-off-by: Eden Gilbert <[email protected]> * Update a2a-server.mdx Updated based on gemini feedback Signed-off-by: Eden Gilbert <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): group trajectories (#1482) Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(ui): proactive access_token refresh to avoid refresh race (#1501) Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(ui): runtime envs and feature flags cleanup (#1479) Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): render mermaid diagrams and latex syntax in markdown (#1488) Signed-off-by: Eden Gilbert <[email protected]> * feat(sdk): utilize platform auth in mcp extension (#1508) Signed-off-by: Tomas Pilar <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(server): add user info endpoint (#1505) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * docs: remove redundant ToC from connectors guide (#1519) Signed-off-by: Jenna Winkler <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(ui): array length checks (#1526) Signed-off-by: Eden Gilbert <[email protected]> * feat: initial implementation for connectors management in UI (#1443) * feat: initial implementation for connectors management in UI Signed-off-by: Tomas Weiss <[email protected]> * feat: connectors prep work Signed-off-by: Tomas Weiss <[email protected]> * feat: proper error handling Signed-off-by: Tomas Weiss <[email protected]> * fix: missing licence headers Signed-off-by: Tomas Weiss <[email protected]> * fix: imports Signed-off-by: Tomas Weiss <[email protected]> * fix: missing schema Signed-off-by: Tomas Weiss <[email protected]> * chore: post rebase adjustments Signed-off-by: Tomas Weiss <[email protected]> * fix: proper schema Signed-off-by: Tomas Weiss <[email protected]> * fix: code review comments Signed-off-by: Tomas Weiss <[email protected]> --------- Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * docs: update deployment guide (#1525) Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): make 'add new agent' button admin only (#1527) Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * docs: overhaul (#1540) Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(docs): add guide on connecting CLI to remote servers (#1541) Signed-off-by: Tomas Pilar <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(server): refresh unmanaged agent cards (#1528) Signed-off-by: Aleš Kalfas <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * docs: minor changes (#1545) Signed-off-by: Matous Havlena <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * chore: docs workflow (#1502) * chore: docs workflow Signed-off-by: Tomas Weiss <[email protected]> * fix: better quoting Signed-off-by: Tomas Weiss <[email protected]> * fix: better git habndling Signed-off-by: Tomas Weiss <[email protected]> * chore: improve PR template Signed-off-by: Tomas Weiss <[email protected]> * chore: provide docs Signed-off-by: Tomas Weiss <[email protected]> --------- Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * chore: bump up uvicorn timeouts to 5s, make configurable (#1548) Signed-off-by: Matous Havlena <[email protected]> Signed-off-by: Jan Pokorný <[email protected]> Co-authored-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(server): connectors header forwading (#1553) Signed-off-by: Tomas Pilar <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * release: v0.4.2-rc1 Signed-off-by: Eden Gilbert <[email protected]> * docs: add explicit WSL instructions Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix: long operations inside transactions cause db connection exhaustion (#1549) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * ci: add missing mise.lock checksums Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(agentstack-cli): clarify agent statuses (fixes #1535) Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(agentstack-cli): redesign agentstack list output Fixes #1536 Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * docs(agentstack-cli): add custom help text (#1554) Signed-off-by: Eden Gilbert <[email protected]> * docs: improve WSL2 installation instructions Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * Update deployment-guide.mdx (#1573) Signed-off-by: Jenna Winkler <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * chore: fixing dead links in the docs (#1557) Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * refactor(web): use single framewok-diagram.svg file themeable with CSS variables (#1539) Signed-off-by: Eden Gilbert <[email protected]> * refactor(ui): rework Spinner component with CSS only animation, remove lottie-react (#1538) Signed-off-by: Eden Gilbert <[email protected]> * fix(agentstack-cli): properly react to misconfigured WSL2 Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * docs(agentstack-cli): clarify WSL install steps Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(agentstack-cli): add `agentstack server switch` alias Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): remove links to docs and support (#1570) Signed-off-by: Eden Gilbert <[email protected]> * chore(ui): update "starting the agent" copy (#1571) Signed-off-by: Eden Gilbert <[email protected]> * fix(ui): messages being cut off on narrower screens (#1546) Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): hide offline agents (#1434) Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): render Markdown syntax inside trajectories (#1555) Signed-off-by: Eden Gilbert <[email protected]> * chore(server): add resource discovery root fallback to connectors (#1587) Signed-off-by: Tomas Pilar <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): update homepage and sidebar (#1512) Signed-off-by: Eden Gilbert <[email protected]> * chore: remove unnecessary __init__.py (#1494) Signed-off-by: Eden Gilbert <[email protected]> * fix(ui): replace trajectory group with latest content, add docs (#1523) Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(ui): mute error toasts on session expiration (#1589) Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix: avoid setting up embeddings on RITS resolves #1578 Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat: update beeai-framework Signed-off-by: Tomas Dvorak <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * Update README.md (#1569) * Update README.md Add Radek's agent as reference Signed-off-by: Jenna Winkler <[email protected]> * Update README.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Jenna Winkler <[email protected]> * Update README.md * Update README.md * Update README.md Signed-off-by: Jenna Winkler <[email protected]> --------- Signed-off-by: Jenna Winkler <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Eden Gilbert <[email protected]> * docs: cleanup (#1586) * docs: updates Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Jenna Winkler <[email protected]> * Update docs/docs.json Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Jenna Winkler <[email protected]> * Update authenticate-cli-to-server.mdx Signed-off-by: Jenna Winkler <[email protected]> * Update README.md Signed-off-by: Jenna Winkler <[email protected]> * docs: updates --------- Signed-off-by: Jenna Winkler <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Eden Gilbert <[email protected]> * fix(helm): peroperly configure agent_registry.sync_period_cron Fixes #1211 Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(tests): skip heavy docling e2e test (#1595) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat: add validation for agent import URL (#1544) Signed-off-by: Eden Gilbert <[email protected]> * feat(agentstack-cli): use better heuristics for determining for adding agents (#1603) Signed-off-by: Eden Gilbert <[email protected]> * feat(agentstack-cli): add server info and confirmations to CLI commands (#1590) Signed-off-by: Eden Gilbert <[email protected]> * feat(cli): add SingleSelect field support to forms (#1596) Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(ui): display agent-generated images in response markdown (#1601) Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): render markdown in API error messages (#1593) Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Petr Bulánek <[email protected]> Co-authored-by: Petr Bulánek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * docs: add permissions and tokens page (#1576) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Matous Havlena <[email protected]> Co-authored-by: Matous Havlena <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(server): send proxy errors as a2a errors (#1594) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(tests): use maximize disk space action (#1607) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(tests): switch to custom model again (#1608) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * chore: form extension rework (#1481) Signed-off-by: Eden Gilbert <[email protected]> * fix(server): include redirect_uri into connector's token request (#1616) Signed-off-by: Tomas Pilar <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat: update beeai framework (#1611) Signed-off-by: Tomas Dvorak <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * fix(cli): agent info command missing auth (#1622) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * feat(ui): redo sidebar and homepage (#1610) Signed-off-by: Eden Gilbert <[email protected]> * feat: extending TS sdk (#1609) * feat: extending TS sdk Signed-off-by: Tomas Weiss <[email protected]> * fix: code review comments Signed-off-by: Tomas Weiss <[email protected]> * fix: remove GET from the callApi function, still keep the method for extensibility in the future Signed-off-by: Tomas Weiss <[email protected]> * chore: cleanup package.json Signed-off-by: Tomas Weiss <[email protected]> * chore: testing release pipeline Signed-off-by: Tomas Weiss <[email protected]> * chore: install mise Signed-off-by: Tomas Weiss <[email protected]> * fix: no git checks Signed-off-by: Tomas Weiss <[email protected]> * chore: setup release action Signed-off-by: Tomas Weiss <[email protected]> * fix: code review commnets Signed-off-by: Tomas Weiss <[email protected]> --------- Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * release: v0.4.2-rc2 Signed-off-by: Eden Gilbert <[email protected]> * fix(agents): add temporary fallback imports (#1624) Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * release: v0.4.2-rc3 Signed-off-by: Eden Gilbert <[email protected]> * chore: update release sdk to npm instead of pnpm Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * release: v0.4.2-rc4 Signed-off-by: Eden Gilbert <[email protected]> * chore: update npm for release Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * release: v0.4.2-rc5 Signed-off-by: Eden Gilbert <[email protected]> * chore: add release tag for npm Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * release: v0.4.2-rc6 Signed-off-by: Eden Gilbert <[email protected]> * chore: missing repository Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> * release: v0.4.2-rc7 Signed-off-by: Eden Gilbert <[email protected]> * chore: run mise fix Signed-off-by: Eden Gilbert <[email protected]> --------- Signed-off-by: Eden Gilbert <[email protected]> Signed-off-by: Eden Gilbert <[email protected]> Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Tomas Pilar <[email protected]> Signed-off-by: Radek Ježek <[email protected]> Signed-off-by: Jenna Winkler <[email protected]> Signed-off-by: Tomas Weiss <[email protected]> Signed-off-by: Aleš Kalfas <[email protected]> Signed-off-by: Matous Havlena <[email protected]> Signed-off-by: Jan Pokorný <[email protected]> Signed-off-by: Tomas Dvorak <[email protected]> Signed-off-by: Petr Bulánek <[email protected]> Co-authored-by: Petr Kadlec <[email protected]> Co-authored-by: Petr Bulánek <[email protected]> Co-authored-by: Tomas Pilar <[email protected]> Co-authored-by: Radek Ježek <[email protected]> Co-authored-by: Jenna Winkler <[email protected]> Co-authored-by: Tomáš Weiss <[email protected]> Co-authored-by: Aleš Kalfas <[email protected]> Co-authored-by: Matous Havlena <[email protected]> Co-authored-by: Jan Pokorný <[email protected]> Co-authored-by: Arun Babu Neelicattu <[email protected]> Co-authored-by: Tomas Dvorak <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
fixes #1472